Computer programs and operating systems have included different customization options that allowed users to change the visual appearance of the programs to the user. For example, some programs have allowed users to change the location of shapes and other objects, such as icons and images, on the screen. As the graphics processing capabilities of computers and the resolution of screens improved, the resolution and detail included in these objects also increased. For example, if one object has been placed in front of another object, a shadow of the front object may have been projected onto the back object. Similarly, if one object has been placed near another object with at least a partially reflective surface, such an object representing a glass pane, a reflection of the object placed near the reflective surface may have been projected on to the reflective surface.
To improve the realistic appearance of these reflections and shadows, various effects were applied to the reflections and shadows. Images of the objects were then saved with the reflections and shadows. If the computer program provided for different selectable object sizes, then separate images, reflections, and shadows, would be generated and saved for each of the different selectable sizes.
While generating and saving copies of images at different sizes was adequate for a relatively small number of different selectable sizes, it is impractical in situations where there are large numbers of different combinations of image sizes and/or orientations that would require a large number of saved image, reflection, and shadow sizes and orientations. For example, saving of copies of images, reflections, and shadows at different sizes would be impractical for an image that is continuously resizable to any user selected size between two values.
There is a need for automatically generating reflections and shadows in real time for scalable objects as the scalable objects are resized. Additionally, because these customization options are often incidental to the main functions of the computer programs, they are commonly executed as background or other processes using minimal computing resources. There is also therefore a need to automatically generate these reflections and shadows using minimal computer resources.